Link latency determination for optimal mobile IP re-registration

ABSTRACT

A method and system for link latency determination in a Mobile IP network determine an unloaded network delay; set a current estimated delay; initiate a current round trip estimation process; and set a retry timer. If the retry timer expires before the process completes, the method and system update the predetermined backoff period and repeat the preceding two steps. After re-registration, the method and system reset the current estimated delay time. The link latency determination optimizes the re-registration process between a mobile device and an agent device, thereby enhancing mobile device communications, minimizing network loading, and optimizing network traffic levels.

RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application Ser. No. 60/471,144 filed May 16, 2003.

BACKGROUND

[0002] The present invention generally relates to mobile networks and, more particularly, to a system and method to determine link latency during the re-registration process of mobile IP enabled devices.

[0003] In traditional Internet Protocol (IP) routing, IP addresses represent the location of specific network nodes within a network topology, allowing packet delivery. To receive packets under this scheme, routing mechanisms assume that each network node maintains the same point of attachment to the network topology of the Internet. Furthermore, routing mechanisms assume that each network node has one associated IP address that uniquely identifies the network node's point of attachment. When a network node dispatches a packet intended for a recipient device, intermediate Internet routers receive the packet and analyze the subnet prefix of its IP address to determine the network of the recipient device. Each intermediate router forwards the packet to the ascertained next closest router. Finally, when the packet arrives at the route on the device's subnet, the router analyzes the remaining bits in the IP address to identify the specific recipient device and completes delivery.

[0004] If, however, a device connects to the Internet via a subnet other than the subnet associated with the IP address of the device, traditional Internet routing will not deliver data destined for the device to the subnet on which it is attached. Therefore, traditional IP routing does not provide sufficient means for communication to mobile device users traveling between subnets.

[0005] Mobile IP enhances traditional IP by adding mechanisms for forwarding Internet traffic to mobile nodes or mobile stations; i.e., mobile devices or wireless communication devices having, for example, a transmitter and a receiver. Typically, mobile devices include, but are not limited to, cellular telephones, handheld devices, laptop computers and routers. Mobile IP assigns each mobile device a traditional home IP address, which dictates its topologically correct “home” network. Such mobile devices also maintain an associated care-of address (COA) that identifies the location of the mobile device as it changes its point of attachment. Each time a user moves the mobile device to a different network, the mobile device acquires a new COA. A home agent (HA) on the home network associates each mobile's permanent address with its current COA.

[0006] Versions of Mobile IP include Mobile IPv4, Mobile IPv6, and HMIPv6. In Mobile IPv4, traffic for the mobile device is sent to the home network but is intercepted by the HA and forwarded via tunneling to the appropriate COA. Foreign agents (FA) may act as intermediary forwarding devices between the mobile device and the HA. In certain embodiments, packet data serving nodes (PDSNs) provide the primary wireless mobile data access to, for example, the Internet or intranets. Mobile IPv6 minimizes tunneling and includes mechanisms that make FAs unnecessary. HMIPv6 reduces the amount of signaling required to improve handoff speed for mobile connections by replacing FAs with Mobility Anchor Points (MAPs), which can be located anywhere in a hierarchy of routers.

[0007] Registration is a critical function in Mobile IP. Each time the mobile device changes its COA, it registers with the HA by forwarding a binding update to the HA via Internet Control Message Protocol (ICMP) in IPv6 networks, or by sending a Registration Request via the FA in IPv4 networks. Mobile IP registration provides a means for the mobile device to communicate its current location to the HA. Each registration has an associated lifetime for which the HA and FA (if applicable) will provide forwarding services.

[0008] In versions of Mobile IP using FAs, PDSNs, or MAPs (collectively, intermediary devices), the mobile device sends a registration request (RRQ) to the intermediary device to begin registration. The intermediary device processes the RRQ and relays it to the HA. Upon receipt of the RRQ, the HA processes the request and sends a registration reply (RRP) granting or denying the request to the intermediary device. In turn, the respective intermediary device processes the RRP and relays the reply to the mobile device, thus notifying it of the disposition of its request. In instances where the mobile device registers a co-located COA, the mobile device forwards the RRQ directly to the HA. The HA responds with a corresponding RRP directly to the mobile device.

[0009] Networks typically implement relatively short registration lifetimes to minimize the impact of zombie Mobile IP registrations on HA and FA/MAP resources. Therefore, to maintain connectivity, as well as accurate COA and reachability information, a mobile device requests re-registration to the HA via RRQs, sent in-band with data, often during data transfer. The mobile device then awaits receipt of an RRP from the HA corresponding to the RRQ. To address the possibility of loss of the RRQ or RRP messages, the mobile device typically sets a retry timer upon dispatch of an RRQ. If the mobile device receives a valid RRP prior to expiration of the time on the retry timer (RRQ timeout), re-registration is completed. If, however, the retry time expires prior to receipt of the corresponding RRP, the mobile device dispatches a subsequent RRQ. Unnecessary re-registration requests (RRQ retransmissions) may be sent when re-registration occurs during a data transfer since buffering and other factors may increase the latency of the re-registration reply beyond the RRQ timeout.

[0010] The Internet Official Protocol Standards (STD 1), Request For Comments (RFC) 2002, Section 3.6.3, IBM (1996) suggests a simple geometric backoff algorithm comprising the steps of sending a new RRQ after a specified retransmission timeout (minimum one second), and increasing the retransmission timeout (the backoff period), at a minimum, by a multiplier of two. Under this formula, the timeout eventually increases to a value greater than the time required for the RRP to arrive after the RRQ has been sent; i.e., the round trip time (RTT).

[0011] Despite the backoff algorithm's attempt to regulate retransmission of re-registration requests, if the mobile device receives a valid RRP to a predecessor request after dispatch of a successor request, then the mobile device is obligated to discard the reply, delaying completion of mobile node re-registration, increasing traffic on the network, and adversely loading the network infrastructure.

[0012] It is apparent that a need exists for an improved system and method for timing request retransmissions that effect re-registration while minimizing unnecessary transmissions. There is also a need for a system and method to enhance mobile device communications, minimize network loads, and optimize network traffic levels by means of optimized Mobile IP re-registration.

SUMMARY

[0013] In one aspect of the present invention, a method for link latency determination in a communication network includes the steps of determining an unloaded network delay for round trip traversal of the link according to an initial registration process; setting a current estimated delay equal to the unloaded network delay; upon commencement of a subsequent registration attempt, initiating a current round trip estimation process which has a start time and an end time; setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; and if the retry timer expires before the end time of the potentially concurrent current round trip estimation process, updating the predetermined backoff period and repeating the two preceding steps; and at the end of the subsequent registration, resetting the current estimated delay equal to the difference between the end time of the current round trip estimation process and the start time of the current round trip estimation process.

[0014] Although the current round trip estimation process generally refers to a re-registration attempt on the part of the mobile device with the home agent, a skilled artisan will recognize that other applications and examples exist as well. The start time of the current round trip estimation process may be associated with, for example, the send time of an RRQ during a re-registration attempt; and the end time of the current round trip estimation process may be associated with, for example, the receipt time of the RRP corresponding thereto.

[0015] The predetermined backoff period may be updated according to a predetermined algorithm, including the aforementioned backoff registration retry algorithm.

[0016] In another aspect of the present invention, a method for determination of link latency in a Mobile IP network includes the steps of determining an unloaded network delay according to an initial registration process; setting a current estimated delay equal to the unloaded network delay; upon commencement of a re-registration attempt, noting a send time of a current round trip estimation process; setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; and if the retry timer expires before receipt of a re-registration reply, updating the predetermined backoff period and repeating the two preceding steps; and if the retry timer does not expire before receipt of the re-registration reply, noting the receipt time of the current round trip estimation process and resetting the current estimated delay equal to the difference between the receipt time and the send time.

[0017] In a further aspect of the present invention, a method for determination of link latency in a Mobile IP network includes steps of noting a send time of an initial registration request from the mobile device to the home agent; noting a receipt time of a registration reply corresponding to the initial registration request from the home agent to the mobile device; determining an unloaded network delay according to the formula:

RTT(0)=(RRP(initial)−RRQ(initial)),

[0018] wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply, and RRQ(initial) represents the send time of the initial registration request; setting a current estimated delay equal to the unloaded network delay; noting a send time of a request for re-registration; setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; and if the retry timer expires before receipt of a registration reply message, updating the predetermined backoff period and repeating the preceding three steps; and if the retry timer does not expire before receipt of the registration reply message, noting the receipt time of the re-registration reply message and setting the current estimated delay equal to the difference between the receipt time and the send time.

[0019] In a still further aspect of the present invention, a method for determination of link latency in a communication network includes steps for calculating an unloaded network delay for round trip traversal of the link according to an initial registration process; establishing a current estimated delay according to the unloaded network delay; adding a predetermined backoff period to the current estimated delay; setting a retry timer upon commencement of a Mobile IP registration attempt, with the retry timer set according to the sum derived in the preceding step; optionally, initiating the current round trip delay estimation process; if the preceding step was initiated, updating the current estimated round trip delay if the end event of the current round trip delay estimation process occurs; recalculating the backoff period and repeating the two preceding steps if the retry timer expires before the end time of the current round trip estimation process; and determining the current estimated delay according to the difference between the end time of the current round trip estimation process and the start time of the current round trip estimation process, if the retry timer does not expire before the end time of the current round trip estimation process.

[0020] In an additional aspect of the present invention, a system includes a first device; a second device; a communication path linking the first device and the second device; and at least one module that determines the link latency associated with traversal of the communication path between the first device and the second device.

[0021] In yet another aspect of the present invention, a Mobile IP network includes means for providing a first device; means for providing a second device; means for communication between the first device and the second device; means for determining an unloaded network delay for round trip traversal of the link during initial Mobile IP registration; means for setting a current estimated delay equal to the unloaded network delay; means for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; means for updating the predetermined backoff period and resetting the retry timer equal to the sum of the predetermined backoff period and the current estimated network delay when the retry timer expires before an end time of a current round trip estimation process; and means for resetting the current estimated delay equal to the difference between the end time of the current round trip estimation process and a start time of the current round trip estimation process when the retry timer does not expire prior to the end time of a current round trip estimation process.

[0022] In a further aspect of the present invention, a communication network includes means for providing a first device; means for providing a second device; means for communication between the first device and the second device; means for determining an unloaded network delay for round trip traversal of the link according to an initial registration process; means for setting a current estimated delay equal to the unloaded network delay; means for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; means for updating the predetermined backoff period when the retry timer expires before an end time of a current round trip estimation process; means for resetting the retry timer equal to the sum of the predetermined backoff period and the current estimated network delay; and means for resetting the current estimated delay equal to the difference between the end time of the current round trip estimation process and a start time of the current round trip estimation process when the retry timer does not expire prior to the end time of a current round trip estimation process.

[0023] In a still further aspect of the present invention, a wireless communication sub-network include a mobile device; a home agent; means for communication between the mobile device and the home agent; means for noting a send time of an initial registration request from the mobile device to the home agent via the means for communication; means for noting a receipt time of a registration reply corresponding to the initial registration request from the home agent to the mobile device via the means for communication; means for determining the unloaded network delay according to the formula:

RTT(0)=(RRP(initial)−RRQ(initial)),

[0024] wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply, and RRQ(initial) represents the send time of the initial registration request; means for setting a current estimated delay equal to the unloaded network delay; means for noting a send time of a request for re-registration from the mobile device to the home agent via the means for communication; means for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; means for updating the predetermined backoff period and means for resetting the retry timer if the retry timer expires before receipt of a registration reply message; means for noting the receipt time of the registration reply message from the home agent to the mobile device via the communications path; and means for setting the current estimated delay equal to the difference between the receipt time (end event) and the send time (start event).

[0025] In yet a further aspect of the present invention, a Mobile IP communications network includes a mobile device; a home agent; a communication path linking the mobile device and the home agent; an unloaded network delay module for determining an unloaded network delay for traversal of the communication path between the mobile device and the home agent according to an initial registration process; a current estimated delay module for setting a current estimated delay equal to the unloaded or loaded network delay; a request send time module for noting a send time of a request for re-registration between the mobile device and the home agent via the communication path; a retry timer module for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; a timer expiration module for updating the predetermined backoff period and notifying the retry timer module if the retry timer expires before receipt of a re-registration reply message from the home agent to the mobile device via the communication path; a registration reply receipt time module for noting the receipt time of the re-registration reply message by the mobile device; and a reset module for setting the current estimated delay equal to the difference between the receipt time and the send time.

[0026] Further advantages of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of disclosing exemplary embodiments of the invention without placing limitations thereon.

BRIEF DESCRIPTION OF THE DRAWINGS

[0027]FIG. 1 is a diagram of a wireless communication sub-network according to an embodiment of the present invention;

[0028]FIG. 2 is a communication flow diagram associated with a registration process in a Mobile IP environment according to an embodiment of the present invention;

[0029]FIG. 3 is a control flow diagram of associated registration and re-registration processes in a Mobile IP environment according to an embodiment of the present invention;

[0030]FIG. 4 is a flowchart illustrating an exemplary method according to an embodiment of the present invention;

[0031]FIG. 5 is a flowchart illustrating one example of a subprocess used to determine an initial RTT (unloaded network) delay according to step 44 of the embodiment of shown in FIG. 4;

[0032]FIG. 6 is a flowchart illustrating another example of a subprocess used to determine the current estimated network delay according to the embodiment of the present invention shown in FIG. 4;

[0033]FIG. 7 is a flowchart illustrating yet another example of a subprocess used to determine the current estimated network delay according to the embodiment of the present invention shown in FIG. 4; and

[0034]FIG. 8 is a block diagram illustrating an exemplary system according to an embodiment of the present invention.

DETAILED DESCRIPTION

[0035] The following detailed description is of the best currently contemplated method of carrying out the invention. The description is not intended in a limiting sense, but serves to illustrate the general principles of the invention, the scope of which is defined by the appended claims.

[0036] The present invention provides a system and method for accurate determination of variable latent delay between transmission and receipt of traffic transferred over a specific link in a communication network; for example, a Mobile IP network, and optimization of a process utilizing said link. The latency determination improves processes such as re-registration of a mobile device with an agent device. The latency determination optimizes the timing of re-registration request transmissions, thereby ensuring timely completion of the re-registration process; minimizes network traffic incurred eliminating redundant re-registration requests and minimizes discarded re-registration replies necessitated by delayed delivery; and increases mobile device performance.

[0037] Turning now to the drawings, wherein like items are referenced with the same numerals, FIG. 1 generally shows a wireless communication sub-network 10 according to an embodiment of the present invention. The wireless communication sub-network 10 may include a mobile station (MS) 12; an intermediary device 14; a home agent (HA) 16; a network 18, for example, the Internet; and a correspondent device 20, i.e., a device transmitting communications intended for the MS 12 or a device intended as the recipient of communications from the MS 12. Typically, messages and data may traverse one or more communication paths 22 via the aforementioned components to effect communications between the MS 12 and the correspondent device 20.

[0038] The MS 12 may further comprise terminal equipment (TE) 24 and a mobile device 26 that can have a transmitter 28 and a receiver 30 for transmitting and receiving communications, respectively. The TE 24 and mobile device 26 may be embodied as an integral unit; for example, cellular telephones, handheld devices, and laptop computers.

[0039] The intermediary device 14 may generally facilitate mobile device 26 connectivity to the network 18 via the HA 16 associated with the MS 12. Various network protocol and configurations can determine the specific intermediary device, which include foreign agents (FAs), packet serving data networks (PDSNs), and mobility anchor points (MAPs).

[0040] The network 18 can encompass any means or construct of device or design, physical or logical. For example, routers and other network devices (not shown) can forward communications from the HA 16 to an intended destination, the correspondent device 20. The communication paths 22 may include any transmission medium, for example, infrared transmission, digital cable, analog line, radio waves and so forth. Further, various protocol and communication schemes can utilize the communication paths 22.

[0041]FIG. 2 shows a communication flow diagram describing an exemplary registration process in a Mobile Internet Protocol (Mobile IP) environment such as the wireless communication sub-network 10 of FIG. 1. In such an environment, the agent advertisement and solicitation processes, or the agent discovery process, may generally precede the registration, i.e., as shown along timeline 32.

[0042] At 32 a, the foreign agent (FA) 34 may advertise its services. At 32 b, the mobile device 26 may move into the network of the FA 34. Upon receipt of an advertisement from the FA 34, the mobile device 26 may request service from the FA 34, i.e., the mobile device 26 can transmit a request for registration request (RRQ) to the FA 34. At 32 c, the FA 34 can process the RRQ and forward it to the associated HA 16 or decline the registration. At 32 d, the HA 16 can process the RRQ and formulate a registration reply (RRP) accepting or declining registration. The HA 16 may transmit the RRP to the FA 34. At 32 e, the FA 34 may relay the RRP to the mobile device 26. If the HA 16 accepts the registration request, the status relayed to the mobile device 26 can include the lifetime of the new registration. The entire registration process typically utilizes the network 16 without the concurrent presence of IP traffic, i.e., data other than the registration or re-registration messages, thus resulting in relatively low latency.

[0043] After registration successfully completes, the user's IP traffic 36 can flow between the mobile device 26 and the correspondent device 20 via the FA 34 and HA 16, as shown at 32 f. The IP traffic 36 may include, for example, web-browser or file transfer traffic.

[0044]FIG. 3 shows an exemplary message flow diagram and timeline 32 associated with registration and re-registration processes of a Mobile IP subnet environment in the wireless communication sub-network 10; the Mobile IP subnet environment having the mobile device 26; the FA 34; the HA 16; and the correspondent device 20. On the timeline 32, and continuing chronologically from the events described in FIG. 2, the mobile device 26 can establish a connection with a correspondent device 20 and IP traffic 36 can flow therebetween, as shown at 32 f. The mobile device 26 may move from one subnet to another, thereby requiring an initial registration with the new FA 34 and the HA 18 to update the care-of address (COA) of the mobile device 26.

[0045] Then initial registration phase shown as Phase 1 at 23 may comprise the steps of transmitting an agent advertisement (ASM) at 32 a from the intermediary device 14 to the mobile device 26; transmitting an agent solicitation (AAM) at 32 b from the mobile device 26 to the intermediary device 14; transmitting an RRQ at 32 b from the mobile device 26 to the FA 34 via the intermediary device 14; forwarding the RRQ at 32 c from the FA 34 to the HA 16; transmitting an RRP at 32 d from the HA 16 to the intermediary device 14; and relaying the RRP at 32 e from the intermediary device 14 to the mobile device 26. The Phase 1 step at 23 can be performed without concurrent in-band data; i.e., the ASM, AAM, RRQ and RRP transmittals along any link occur without any additional data transfer to or from the mobile device 26. Further, it is noted that the two initial steps at 23 a of Phase 1 at 40 are not required to complete the registration process.

[0046] After registration, IP traffic 36 may flow between the mobile device 26 and a correspondent device 22 at 32 f. In the exemplary IPv4 embodiment, the HA 16 tunnels IP traffic 38 at 32 g destined for the mobile to the intermediary device at 14 for delivery.

[0047] During the duration of a current registration (its lifetime), a mobile device 26 may request re-registration. Unlike the initial registration process described above, however, re-registration traffic may be sent concurrent with application data, and thus may be subject to transmission delays while buffered application data is transmitted to and from the mobile device 26. Re-registration, shown as Phase 2 at 42, may comprise the steps of forwarding an RRQ from the mobile device 26 and in-band with the IP traffic 36 at 32 b to the intermediary device 14, which can forward the RRQ at 32 c to the HA 16. The correspondent device 20 may continue to receive forwarded IP traffic at 32 f from the mobile device 26. The correspondent device 20 may transmit IP traffic 36 intended for the mobile device 26 at 32 f to the HA 16, which will tunnel the IP traffic 38 at 32 g to the intermediary device 14 for delivery to the mobile device 26. Concurrently, the HA 16 may transmit an RRP at 32 g to the mobile device 26 via the intermediary device 14; which will forward both the IP traffic and the RRP at 32 i to the mobile device 30. The complexity and increased data load of the Phase 2 42 re-registration process can result in a significantly increased latency as compared with the initial registration latency. Further, if the mobile device 26 terminates the re-registration attempt prior to receipt of the RRP, then the process must be redundantly repeated with a greater timeout to completion, further degrading network performance and registration process efficiency.

[0048] Turning to FIG. 4, a flowchart illustrates an exemplary method according to an embodiment of the present invention, including the steps of: during the initial re-registration attempt, determining an unloaded network delay according to an initial registration process at 44; setting a current estimated delay equal to the unloaded network delay at 46; upon commencement of subsequent re-registration processes, noting a send time of a current round trip estimation process at 48; setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay at 50; if the retry timer expires at 51 before receipt of a registration reply message, then updating the predetermined backoff period at 52 and repeating the step at 50; else noting the receipt time of the current round trip estimation event at 54; and resetting the current estimated delay equal to the difference between the receipt time and the send time at 56. For subsequent re-registration attempts, the process can be repeated from the step at 48, as shown at 58.

[0049] One skilled in the art will note that the predetermined backoff period may be determined by various means, including the backoff algorithm described in RFC 2002, supra.

[0050] Various embodiments can employ various means to initially determine the unloaded network delay (step 44), including, but not limited to, an initial registration process using RRP/RRQ pairs. Turning now to FIG. 5, there is shown a flowchart illustrating one example of an initial registration subprocess used to determine an unloaded network delay during the initial registration process according to the step at 44 of the FIG. 4. The subprocess may include the-steps of noting a send time of an initial registration request (RRQ(initial)) from the mobile device to the home agent at 60; noting a receipt time of a registration reply (RRP(initial)) corresponding to the RRQ(initial) from the home agent to the mobile device at 62; setting the initial registration round trip delay (RTT(0)) equal to the difference between receipt time (RRP(initial)) and the send time (RRQ(initial)); and determining the unloaded network delay at 44 and at 64, according to the formula:

RTT(0)=(RRP(initial)−RRQ(initial)),

[0051] wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply, and RRQ(initial) represents the send time of the initial registration request.

[0052] The current round trip estimation process, which comprises the steps of 48, 54 and 56 (all shown in phantom), may comprise various sub-processes such as a re-registration subprocess, an echo subprocess, and a packet subprocess.

[0053] The re-registration subprocess may utilize substantially the same algorithm set out for the initial registration process to calculate the current estimated delay. For example, at step 48 of FIG. 4, the send time of an RRQ for re-registration is noted; at step 54 of FIG. 4, the receipt of a corresponding RRP is noted; and at step 56 of FIG. 4, the current estimated delay is calculated according to the formula:

RTT(current)=RRP(x_t)−RRQ(x_t),

[0054] wherein RTT(current) represents the current estimated round trip delay, RRP(x_t) represents the receipt time of the RRP associated with the current re-registration attempt, and RRQ(x_t) represents the send time of the RRQ associated with the current re-registration. Thus, the re-registration attempt and the current round trip estimation process may be one and the same.

[0055] The echo and packet subprocesses shown in FIGS. 6 and 7, respectively, may potentially start at the same time, and run concurrently with, the re-registration process or a registration attempt, described above.

[0056] The echo process, as shown in FIG. 6, may include the steps of noting a send time of an ICMP echo request (ECHO(send)) from the mobile device to the home agent at 66 (step 48 of FIG. 4); noting the receipt time of a corresponding ICMP echo reply (ECHO(receive)) from the home agent by the mobile device at 68 (step 54 of FIG. 4); and determining the current estimated delay RTT(current) at 70 (step 56 of FIG. 4); according to the formula:

RTT(current)=(ECHO(receive)−ECHO(send)),

[0057] wherein RTT(current) represents the current estimated round trip delay, ECHO(receive) represents the receipt time of the corresponding ICMP echo received from the home agent, and ECHO(send) represents the send time of the ICMP echo request.

[0058] One skilled in the art will note that, in various embodiments, the echo subprocess may also be used in place of the re-registration process of FIG. 5, supra, to determine the current estimated network delay during re-registration.

[0059] The packet process, as shown in FIG. 7, may include steps of noting the send time of a TCP packet (step 48 of FIG. 4); noting the receipt time of a corresponding acknowledgment from the home agent by the mobile device at 68 (step 54 of FIG. 4); and determining the current estimated delay RTT(current) at 70 (step 56 of FIG. 4); according to the formula:

RTT(current)=(ACK(receipt)−PACKET(send)),

[0060] wherein RTT(0) represents the packet round trip delay, ACK(receipt) represents the receipt time of the acknowledgment, and PACKET(send) represents the send time of the TCP packet.

[0061]FIG. 8 illustrates an exemplary system according to an embodiment of the present invention. This embodiment may be used, for example, to determine latency and optimize the re-registration in the wireless communication sub-network shown in FIG. 1. The system may include the MS 12 having the TE 24, communication path 22, mobile device 26, transmitter 28, and receiver 30; the home agent 16; and modules shown generally at 77 a. In the exemplary embodiment, the system includes the intermediary device 14.

[0062] The set of modules 77 a can include one or more modules to effect latency determination. The module(s) may comprise, for example, software programs, computer hardware, or a combination thereof, either integral to or independent of one or more system components. For example, the modules 77 a may be embodied as a combination of hardware components and software programs resident on the mobile device 26. The module(s) 77 a may utilize one or more communication paths 22 or any other means to accomplish latency determination. For example, and with reference to 77 a, the modules 77 may include an unloaded network delay module 78 for determining the unloaded network delay between the mobile device 26 and the home agent 16; a current estimated delay module 80 for setting a current estimated delay equal to the unloaded network delay; a request send time module 82 for noting a send time of a request for re-registration from the mobile device 26 to the home agent 16 via, for example, the intermediary device 14; a retry timer module 74 for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay 84; a timer expiration module 86 for updating the predetermined backoff period and notifying the retry timer module 84 if the retry timer expires before receipt of a re-registration reply message; a registration reply receipt time module 88 for noting the receipt time of the re-registration reply message from the HA 16 to the mobile device 26 via, for example, the intermediary device 14; and a reset module 90 for setting the current estimated delay equal to the difference between the receipt time and the send time.

[0063] The modules 77 a may reside on the mobile device 26 as one or more software components. When invoked, the unloaded network delay module 78 may measure the network delay for traversal of the communication path 22 between the mobile device 26 and the home agent 16 during the initial Mobile IP registration, and determine an unloaded network delay value.

[0064] During the initial registration process, the unloaded network delay module 78 can determine the round trip link latency between the mobile device 26 and the home agent 16 by forwarding an RRQ to the home agent 16 along the communication path 22 and via the intermediary device 14. The home agent 16 may respond with an RRP to the mobile device 26 via the intermediary device 14. The unloaded network delay module 78 may calculate the unloaded network delay value, for example, the total link traversal time for the RRQ-RRP pair. The unloaded network delay value may be calculated from, for example, the difference between the receipt time of the RRP by the mobile device 26 and the send time of the RRQ by the mobile device 26.

[0065] The current estimated delay subprocesses may include the re-registration subprocess, the echo subprocess, and the packet subprocess, supra. The echo process may include substantially the same process utilized by the re-registration subprocess; however, an Internet Control Message Protocol (ICMP) echo may be used in place of the RRQ and an ICMP echo reply may be used in place of the RRP. Similarly, the packet process may include the substantially the same process as the re-registration process; however, a Transport Control Protocol (TCP) packet—acknowledgment (ACK) pair replace the RRQ-RRP pair.

[0066] The round trip link traversal can occur without the presence of in-band data; therefore, the unloaded network delay value can represent a measurement of time for traversal of an unloaded network link. The unloaded network delay module 78 may pass its unloaded network delay value to the current estimated delay module 80, which can set a current estimated delay value equal to the received round trip delay value.

[0067] To determine the current estimated delay during current round trip estimation process, for example, a re-registration attempt, the request send time module 82 may establish a value representing the start time of the current round trip estimation process; for example, the send time of the RRQ from the mobile device 26 to the home agent 16.

[0068] The retry timer module 84 may set, at the start time of the current round trip estimation process, a retry timer. The time set on the retry timer can correspond to the total time value of a predetermined backoff period and the value of the current estimated delay.

[0069] The timer expiration module 86 can monitor the timer countdown and the progress of the current round trip estimation process. If the time on the retry timer expires prior to an end time of the current round trip estimation process, for example, receipt of the RRP by the module device 26 from the home agent 16, the retry timer module 84 may be re-invoked, which resets the time on the retry timer with a value corresponding to an updated predetermined backoff period and the value of the current estimated delay. If the current round trip estimation process ends before the retry timer expires, then the reset module 90 may calculate an updated current estimated delay from the difference between the start time and the end time of the current round trip estimation process; for example, the difference between the receipt time of the RRP and the send time of the RRQ during the re-registration attempt.

[0070] It should be understood, of course, that the foregoing relates to preferred embodiments of the invention and that modifications may be made without departing from the spirit and scope of the invention as set forth in the following claims. 

We claim:
 1. A method for determination of link latency in a communication network having a link, the method comprising steps of: (a) determining an unloaded network delay for round trip traversal of the link according to an initial registration process; (b) setting a current estimated delay equal to the unloaded network delay; (c) upon commencement of a subsequent registration attempt, initiating a current round trip estimation process having a start time and an end time; (d) setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; (e) if the retry timer expires before the end time of the potentially concurrent current round trip estimation process, updating the predetermined backoff period and repeating steps (c) and (d); and (f) at the end of the subsequent registration, resetting the current estimated delay equal to the difference between the end time of the current round trip estimation process and the start time of the current round trip estimation process.
 2. The method of claim 1, further comprising an initial step of providing a wireless communication sub-network incorporating the link.
 3. The method of claim 2, wherein the wireless communication sub-network utilizes Mobile IP.
 4. The method of claim 3, wherein the link further comprises a link between a mobile device and a home agent.
 5. The method of claim 4, wherein the current round trip estimation process further comprises a re-registration subprocess.
 6. The method of claim 5, wherein the start time further comprises a send time of a re-registration request.
 7. The method of claim 5, wherein the end time further comprises a receipt time of a re-registration reply.
 8. A method for determination of link latency in a Mobile IP network, the method comprising steps of: (a) determining an unloaded network delay according to an initial registration process; (b) setting a current estimated delay equal to the unloaded network delay; (c) upon commencement of a re-registration attempt, noting a send time of a current round trip estimation process; (d) setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; (e) and if the retry timer expires before receipt of a re-registration reply, updating the predetermined backoff period and repeating steps (d) and (e); (f) and if the retry timer does not expire before receipt of the re-registration reply, noting the receipt time of the current round trip estimation process and resetting the current estimated delay equal to the difference between the receipt time and the send time.
 9. The method of claim 8, wherein the initial registration process further comprises the steps of: noting a send time of an initial registration request from the mobile device to the home agent; noting a receipt time of a registration reply corresponding to the initial registration request from the home agent to the mobile device; and determining the unloaded network delay according to the formula: RTT(0)=(RRP(initial)−RRQ(initial)), wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply sent by the HA, and RRQ(initial) represents the send time of the initial registration request.
 10. The method of claim 8, wherein the current round trip estimation process further comprises a re-registration subprocess.
 11. The method of claim 9, wherein the re-registration subprocess further comprises steps of: noting the send time of an RRQ for re-registration; noting the receipt time of a corresponding RRP; and determining the current estimated round trip delay according to the formula: RTT(current)=RRP(x_t)−RRQ(x_t), wherein RTT(current) represents the current estimated round trip delay, RRP(x_t) represents the receipt time of the RRP associated with the current re-registration attempt, and RRQ(x_t) represents the send time of the RRQ associated with the current re-registration.
 12. The method of claim 8, wherein the current round trip estimation process further comprises an echo subprocess.
 13. The method of claim 12, wherein the echo process further comprises the steps of: noting a send time of an ICMP echo request from the mobile device to the agent device; noting the receipt time of a corresponding ICMP echo from the agent device to the mobile device; and determining the current estimated network delay according to the formula: RTT(current)=(ECHO(receive)−ECHO(send)), wherein RTT(0) represents the current estimated round trip delay, ECHO(receive) represents the receipt time of the corresponding ICMP echo received from the home agent, and ECHO(send) represents the send time of the ICMP echo request.
 14. The method of claim 8, wherein the current round trip estimation process further comprises a packet correlation process.
 15. The method of claim 14, wherein the packet correlation process further comprises the steps of: noting the send time of a TCP packet sent from the mobile device to the home agent; noting the receipt time of a corresponding acknowledgment sent from the home agent to the mobile device; and determining the current estimated network delay according to the formula: RTT(current)=(ACK(receipt)−PACKET(send)), wherein RTT(current) represents the current estimated round trip delay, ACK(receipt) represents the receipt time of the acknowledgment, and PACKET(send) represents the send time of the TCP packet.
 16. A method for determination of unloaded link latency in a Mobile IP network, the method comprising steps of: (a) noting a send time of an initial registration request from the mobile device to the home agent; (b) noting a receipt time of a registration reply corresponding to the initial registration request from the home agent to the mobile device; (c) determining an unloaded network delay according to the formula: RTT(0)=(RRP(initial)−RRQ(initial)), wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply, and RRQ(initial) represents the send time of the initial registration request; (d) setting a current estimated delay equal to the unloaded network delay; (e) noting a send time of a request for re-registration; (f) setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; (g) if the retry timer expires before receipt of a registration reply message, updating the predetermined backoff period and repeating steps (e), (f) and (g); and (h) if the retry timer does not expire before receipt of the registration reply message, noting the receipt time of the re-registration reply message and setting the current estimated delay equal to the difference between the receipt time and the send time.
 17. A method for determination of link latency in a communication network having a link, the method comprising: (a) a step for calculating an unloaded network delay for round trip traversal of the link according to an initial registration process; (b) a step for establishing a current estimated delay according to the unloaded network delay; (c) a step for adding a predetermined backoff period to the current estimated delay; (d) a step for setting a retry timer upon commencement of a Mobile IP registration attempt, the retry timer set according to the sum derived in step (c); (e) optionally, a step for initiating the current round trip delay estimation process; (f) if step (e) was initiated, a step for updating the current estimated round trip delay if the end event of the current round trip delay estimation process occurs; (g) a step for recalculating the backoff period and repeating steps (e) and (f) if the retry timer expires before the end time of the current round trip estimation process; and (h) a step for determining the current estimated delay according to the difference between the end time of the current round trip estimation process and the start time of the current round trip estimation process, if the retry timer does not expire before the end time of the current round trip estimation process.
 18. The method of claim 17, further comprising an initial step of providing a wireless communication sub-network utilizing Mobile IP, wherein the wireless communication sub-network incorporates the link.
 19. The method of claim 18, wherein the link further comprises a link between a mobile device and a home agent.
 20. The method of claim 17, wherein: the current round trip estimation process further comprises a re-registration attempt; the start time further comprises a send time of a re-registration request; and the end time further comprises the receipt time of a re-registration reply.
 21. The method of claim 17, wherein the step for establishing a current estimated delay further comprises: a step for establishing a current estimated delay according to an echo subprocess.
 22. The method of claim 17, wherein the step for establishing a current estimated delay according to the unloaded network delay further comprises: a step for establishing a current estimated delay according to a packet subprocess.
 23. A communication network system having a link, the system comprising: a first device; a second device; a communication path linking the first device and the second device; and at least one module that determines the link latency associated with traversal of the communication path between the first device and the second device.
 24. The system of claim 23, wherein: the first device further comprises a mobile device; and the second device further comprises a home agent.
 25. The system of claim 24, further comprising an intermediary device for relaying communication between the mobile device and the home agent via the communication path.
 26. The system of claim 23, wherein the at least one module further comprises: an unloaded delay module for determining the unloaded network delay for round trip traversal of the link according to an initial registration process; a current estimated delay module for setting a current estimated delay equal to a provided network delay value; a request send time module for noting the start time of a current round trip estimation process; a retry timer module for setting a retry timer equal to the sum of predetermined backoff period and the current estimated network delay upon commencement of a current round trip estimation process having a start time and an end time; a timer expiration module for updating the predetermined backoff period and notifying the retry timer module if the retry timer expires before the end time of the current round trip estimation process; a registration reply receipt time module for noting the end time of a current round trip estimation process; and a reset module for setting the current estimated delay equal to the difference between the end time of the current round trip estimation process and the start time of the current round trip estimation process.
 27. The system of claim 26, wherein: the current round trip estimation process further comprises a re-registration subprocess; the start time further comprises a send time of a re-registration request; and the end time further comprises a receipt time of a re-registration reply.
 28. The system of claim 27, wherein the current round trip estimation process further comprises a process selected from a group consisting of a re-registration subprocess; an echo subprocess; and a packet subprocess.
 29. The system of claim 28, wherein the re-registration process further comprises: noting a send time of a re-registration request from the mobile device to the home agent; noting a receipt time of a re-registration reply corresponding to the initial registration request from the home agent to the mobile device; and determining the unloaded network delay according to the formula: RTT(current)=(RRP(x_t)−RRQ(x_t)), wherein RTT(current) represents the current estimated round trip delay, RRP(x_t) represents the receipt time of the RRP associated with the current re-registration attempt, and RRQ(x_t) represents the send time of the RRQ associated with the current re-registration.
 30. The system of claim 28, wherein the echo subprocess further comprises: noting a send time of an ICMP echo request from the mobile device to the agent device; noting the receipt time of a corresponding ICMP echo from the agent device to the mobile device; and determining the loaded network delay according to the formula: RTT(t)=(ECHO(receive)−ECHO(send)), wherein RTT(current) represents the current estimated round trip delay, ECHO(receive) represents the receipt time of the corresponding ICMP echo received from the home agent, and ECHO(send) represents the send time of the ICMP echo request.
 31. The system of claim 28, wherein the current round trip estimation process further comprises: noting the send time of a TCP packet sent from the mobile device to the home agent; noting the receipt time of a corresponding acknowledgment sent from the home agent to the mobile device; and determining the loaded network delay according to the formula: RTT(t)=(ACK(receipt)−PACKET(send)), wherein RTT(0) represents the current estimated round trip delay, ACK(receipt) represents the receipt time of the acknowledgment, and PACKET(send) represents the send time of the TCP packet.
 32. A communication network, comprising: means for providing a first device; means for providing a second device; means for communication between the first device and the second device; means for determining an unloaded network delay for round trip traversal of the link during initial Mobile IP registration; means for setting a current estimated delay equal to the unloaded network delay; means for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; means for updating the predetermined backoff period and resetting the retry timer equal to the sum of the predetermined backoff period and the current estimated network delay when the retry timer expires before an end time of a current round trip estimation process; and means for resetting the current estimated delay equal to the difference between the end time of the current round trip estimation process and a start time of the current round trip estimation process when the retry timer does not expire prior to the end time of a current round trip estimation process .
 33. The network of claim 32, further comprising a wireless communication sub-network employing Mobile IP.
 34. The network of claim 33, wherein: the means for providing the first device further comprises a mobile device; and the means for providing the second device further comprises a home agent.
 35. The network of claim 34, further comprising an intermediary device for relaying communications between the mobile device and the home agent via the means for communication.
 36. The network of claim 34, wherein the Mobile IP registration further comprises an initial registration process.
 37. The network of claim 36, wherein the initial registration process further comprises: means for noting a send time of an initial registration request from the mobile device to the home agent; means for noting a receipt time of a registration reply corresponding to the initial registration request from the home agent to the mobile device; and means for determining the unloaded network delay according to the formula: RTT(0)=(RRP(initial)−RRQ(initial)), wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply, and RRQ(initial) represents the send time of the initial registration request.
 38. The network of claim 34, further comprising an additional network and an associated echo subprocess for current estimated round trip delay determination.
 39. The network of claim 38, wherein the echo process further comprises: means for noting a send time of an ICMP echo request from the mobile device to the agent device; means for noting the receipt time of a corresponding ICMP echo from the home agent to the mobile device; and means for determining the unloaded network delay according to the formula: RTT(t)=(ECHO(receive)−ECHO(send)), wherein RTT(t) represents the current echo round trip delay value at time t, ECHO(receive) represents the receipt time of the corresponding ICMP echo received from the home agent, and ECHO(send) represents the send time of the ICMP echo request.
 40. The network of claim 34, further comprising a packet correlation subprocess for current estimated round trip delay determination.
 41. The network of claim 40, wherein the packet correlation process further comprises: means for noting the send time of a TCP packet sent from the mobile device to the home agent; means for noting the receipt time of a corresponding acknowledgment sent from the home agent to the mobile device; and means for determining the unloaded network delay according to the formula: RTT(t)=(ACK(receipt)−PACKET(send)), wherein RTT(t) represents the current packet round trip delay value at time t, ACK(receipt) represents the receipt time of the acknowledgment, and PACKET(send) represents the send time of the TCP packet.
 42. The network of claim 34, wherein: the current round trip estimation process further comprises a re-registration attempt; the start time further comprises a send time of a re-registration request; and the end time further comprises a receipt time of a re-registration reply.
 43. A wireless communication sub-network, comprising: a mobile station; a home agent; a communication path linking the mobile station and the home agent; and at least one module for determining latency between the mobile station and the home agent.
 44. The sub-network of claim 43, further comprising an intermediary device.
 45. The sub-network of claim 44, wherein the intermediary device further comprises at least one device selected from the group consisting of a foreign agent; a mobility anchor point; and a packet data serving node.
 46. The sub-network of claim 43, wherein the mobile station further comprises at least one component selected from the group consisting of a terminal equipment, a mobile device, a transmitter, and a receiver.
 47. The sub-network of claim 43, wherein the at least one module further comprises at least one module selected from the group consisting of an unloaded network delay module; a current estimated delay module; a request send time module; a retry timer module; a timer expiration module; a registration reply module; and a reset module.
 48. A Mobile IP communications network, comprising: a mobile device; a home agent; means for communication between the mobile device and the home agent; means for noting a send time of an initial registration request from the mobile device to the home agent via the means for communication; means for noting a receipt time of a registration reply corresponding to the initial registration request from the home agent to the mobile device via the means for communication; means for determining the unloaded network delay according to the formula: RTT(0)=(RRP(initial)−RRQ(initial)), wherein RTT(0) represents the initial registration round trip delay, RRP(initial) represents the receipt time of the initial registration reply, and RRQ(initial) represents the send time of the initial registration request; means for setting a current estimated delay equal to the unloaded network delay; means for noting a send time of a request for re-registration from the mobile device to the home agent via the means for communication; means for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; means for updating the predetermined backoff period and means for resetting the retry timer if the retry timer expires before receipt of a registration reply message; means for noting the receipt time of the registration reply message from the home agent to the mobile device via the communications path; and means for setting the current estimated delay equal to the difference between the receipt time (end event) and the send time (start event).
 49. A Mobile IP communications network, comprising: a mobile device; a home agent; a communication path linking the mobile device and the home agent; an unloaded network delay module for determining an unloaded network delay for traversal of the communication path between the mobile device and the home agent according to an initial registration process; a current estimated delay module for setting a current estimated delay equal to the unloaded or loaded network delay; a request send time module for noting a send time of a request for re-registration between the mobile device and the home agent via the communication path; a retry timer module for setting a retry timer equal to the sum of a predetermined backoff period and the current estimated network delay; a timer expiration module for updating the predetermined backoff period and notifying the retry timer module if the retry timer expires before receipt of a re-registration reply message from the home agent to the mobile device via the communication path; a registration reply receipt time module for noting the receipt time of the re-registration reply message by the mobile device; and a reset module for setting the current estimated delay equal to the difference between the receipt time and the send time. 